home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / emacs16d.zip / INFO.MIN < prev    next >
Text File  |  1991-09-04  |  8KB  |  459 lines

  1.  
  2.  
  3. Name:Ifilename
  4. The string 'info-history' consists of comma delimited strings
  5. [*]info[*]
  6.  
  7.  
  8. Name:I:Info-begin
  9. [*]#(sp,[)[*]
  10.  
  11.  
  12. Name:I:Info-dir
  13. [*]#(Ifind-node,((dir)Top))[*]
  14.  
  15.  
  16. Name:I:Info-follow
  17. line is a comment.  After the starting line, every line that begins
  18. with a "* " lists a single topic.  The name of the topic--the arg
  19. that the user must give to the "m" command to select this topic--
  20. comes right after the star and space, and is followed by 
  21. a colon, spaces and tabs, and the name of the node which discusses
  22. that topic.  The node name, like node names following Next,
  23. Previous and Up, may be terminated with a tab, comma, or newline;
  24. it may also be terminated with a period.
  25. [*]#(ds,value)
  26. #(Fcompleting-readline,Note: ,(
  27.     #(Ifind-node,#(Iget-item,*Note ,##(value)))
  28. ),(
  29.     #(Ilist-items,*Note ,##(value),(#(sp,[)))
  30. ),-)
  31. [*]
  32.  
  33.  
  34. Name:I:Info-goto
  35. [*]#(ds,value)
  36. #(Fcompleting-readline,Node name: ,(
  37.     #(Ifind-node,##(value))
  38. ),(
  39.     #(..,##(ba,##(info-buffer)))
  40.     #(Ilist-nodes,##(value))
  41.     #(..,##(ba,##(buffer-name.*info*)))
  42. ),-)
  43. [*]
  44.  
  45.  
  46. Name:I:Info-goto-help
  47. [*]#(Ifind-node,((info)Help))[*]
  48.  
  49.  
  50. Name:I:Info-help
  51. [*]
  52. #(ow,(
  53. n    Go to the next node.
  54. p    Go to the previous node.
  55. u    Go up a node.
  56. d    Directory node.
  57. g    Goto a node by name.
  58. m    Select from a Menu.
  59. l    Last node.
  60. f    Follow a note.
  61. 1
  62. 2
  63. 3
  64. 4
  65. 5
  66. ?    Show help message.
  67. ))
  68. #(Fhit-any-key)
  69. [*]
  70.  
  71.  
  72. Name:I:Info-last
  73. Go back to the node that we visited most recently.
  74. [*]#(==,##(info-history),,(
  75.     #(an,This is the first Info node you looked at)
  76. ),(
  77.     #(Ifind-node,##(fm,info-history,(,)))
  78.     #(..,##(fm,info-history,(,)))
  79. ))
  80. [*]
  81.  
  82.  
  83. Name:I:Info-menu
  84. A menu begins with "* Menu:".  The prompt is "Menu item: ".
  85. line is a comment.  After the starting line, every line that begins
  86. with a "* " lists a single topic.  The name of the topic--the arg
  87. that the user must give to the "m" command to select this topic--
  88. comes right after the star and space, and is followed by 
  89. a colon, spaces and tabs, and the name of the node which discusses
  90. that topic.  The node name, like node names following Next,
  91. Previous and Up, may be terminated with a tab, comma, or newline;
  92. it may also be terminated with a period.
  93. [*]#(pm,1)
  94. #(lp,* Menu:)
  95. #(l?,[,],,0,(
  96.     #(sp,0)
  97.     #(ds,value)
  98.     #(Fcompleting-readline,Menu item: ,(
  99.         #(Ifind-node,#(Iget-item,(
  100. * ),##(value)))
  101.     ),(
  102.     #(Ilist-items,(
  103. )* ,##(value))
  104.     ),-)
  105. ),(
  106.     #(an,No menu!)
  107. ))
  108. #(pm)
  109. [*]
  110.  
  111.  
  112. Name:I:Info-mode
  113. Set up local key maps for Info Mode.
  114. [*]#(Fexit-mode)
  115. #(ds,d,##(gs,Info-cmd,#(Farglist)))
  116. #(mp,d,#(Farglist))
  117. #(ds,local-mode-changes,##(local-mode-changes)(
  118.     #(ds,d,##(gs,Fcmd,#(Farglist)))
  119.     #(mp,d,#(Farglist))
  120. ))
  121. #(Fset-modename,Info)
  122. [*]
  123.  
  124.  
  125. Name:I:Info-next
  126. [*]#(Ifind-tag,Next)[*]
  127.  
  128.  
  129. Name:I:Info-number
  130. [*]#(pm,1)
  131. #(lp,* Menu:)
  132. #(l?,[,],,0,(
  133.     #(sp,0)
  134.     #(ds,value,#(Ilist-items,(
  135. )* ))
  136.     #(..,#(Floop,(##(fm,value,(,))),#(--,arg1,1)))
  137.     #(Ifind-node,#(Iget-item,(
  138. * ),#(value)))
  139. ))
  140. #(pm)
  141. [*]
  142.  
  143.  
  144. Name:I:Info-prev
  145. [*]#(Ifind-tag,Previous)[*]
  146.  
  147.  
  148. Name:I:Info-quit
  149. Exit Info by simply returning to the buffer we entered from.
  150. [*]#(Fswitch-to-buffer,#(info-entered-from),,-)[*]
  151.  
  152.  
  153. Name:I:Info-search
  154. [*]#(bl)#(an,Search not implemented yet)[*]
  155.  
  156.  
  157. Name:I:Info-up
  158. [*]#(Ifind-tag,Up)[*]
  159.  
  160.  
  161. Name:I:Info-validate
  162. Ensure that every node is reachable and valid.
  163. [*]#(bl)#(an,Validate not implemented yet)[*]
  164.  
  165.  
  166. Name:I:info
  167. [*]#(Ffind-or-make-buffer,*info*)
  168. #(ds,info-entered-from,#(Frecall-buffer))
  169. #(I:Info-mode)
  170. #(Ifind-node,((dir)Top))
  171. [*]
  172.  
  173.  
  174. Name:Ifind-node
  175. Copy a node to the *info* buffer.  All .eli files are assumed to be
  176. on the path given by the EMACS environment variable.
  177. [*]#(ds,-SELF,(arg1))
  178. #(==,##(go,-SELF),##(bc,40,d,a),(
  179.     #(ds,value,#(env.EMACS)##(fm,-SELF,##(bc,41,d,a)).eli)
  180.     #(Ffind-buffer,,##(value),,(
  181.         #(Ffind-unused-buffer,##(value))
  182.         #(==,##(ff,##(value)),,(
  183.             #(Ferror,Cannot find ##(value))
  184.         ),(
  185.             #(Fvisit-do)
  186.         ))
  187.     ))
  188.     #(ds,info-buffer,##(ba,-1))
  189. ),(
  190.     #(..,##(ba,##(info-buffer)))
  191.     #(rs,-SELF)
  192. ))
  193. #(sp,[)
  194. #(==,##(-SELF),,(
  195.     #(ds,-SELF,Top)
  196. ))
  197. #(pm,2)
  198. #(SELF-do,##(-SELF),(
  199.     #(ds,info-history,
  200.         ##(info-current)
  201.         #(==,##(info-current),,,((,)))
  202.         ##(info-history)
  203.     )
  204.     #(ds,info-current,##(-SELF))
  205.     #(..,##(ba,##(buffer-name.*info*)))
  206.     #(Fenter-local-modes)
  207.     #(sp,[)
  208.     #(dm,])
  209.     #(bi,##(info-buffer),0)
  210.     #(sv,mb,0)
  211.     #(sp,[)
  212. ),(
  213.     #(an,Node "(arg1)" not found)
  214. ))
  215. #(pm)
  216. #(es,-SELF)
  217. [*]
  218.  
  219.  
  220. Name:Ifind-node-do
  221. Search through all the nodes to find the one that matches our name.  Return
  222. arg2 if we find a match, and arg3 if we don't.
  223. [*]#(lp,^,,r)
  224. #(l?,.,],,0,(
  225.     #(sp,0)
  226.     #(sp,0$>)
  227.     #(sm,0)
  228.     #(lp,Node:[ ##(bc,9,d,a)]*arg1[##(bc,9,d,a)(,)],,r)
  229.     #(l?,.,$,,,(
  230.         #(lp,^,,r)
  231.         #(sp,#(l?,.,],1,,1,]))
  232.         arg2
  233.     ),(
  234.         #(SELF,arg1,(arg2),(arg3))
  235.     ))
  236. ),(
  237.     arg3
  238. ))[*]
  239.  
  240.  
  241. Name:Ifind-tag
  242. Arg1 is the name of the tag whose entry is to be found.
  243. [*]#(pm,1)
  244. #(lp,arg1:[ ##(bc,9,d,a)]*,,r)
  245. #(l?,[,$,,0,(
  246.     #(sp,0)
  247.     #(lp,[##(bc,9,d,a)(,)],,r)
  248.     #(Ifind-node,##(rm,#(l?,.,$,0,,0,$)))
  249. ))
  250. #(pm)
  251. [*]
  252.  
  253.  
  254. Name:Iget-item
  255. Given the name of an item in arg2, return the name of the node.
  256. The item prefix is in arg1.
  257. * foo:   bar
  258.   0  1   2
  259. [*]#(pm,3)
  260. #(lp,(arg1arg2))
  261. #(l?,[,],,0,(
  262.     #(sp,
  263.         0
  264.         #(Floop,<,##(nc,arg2))
  265.     )
  266.     #(sm,0)
  267.     #(lp,:[ ##(bc,9,d,a)]*,,r)
  268.     #(l?,.,$,1,2,(
  269.         #(sp,2)
  270.         #(==,##(rm,>),:,(
  271.             #(sp,0)
  272.             ##(rm,1)
  273.         ),(
  274.             #(lp,[. ##(bc,9,d,a)(,)],,r)
  275.             ##(rm,#(l?,.,$,0,,0,$))
  276.         ))
  277.     ))
  278. ))
  279. #(pm)
  280. [*]
  281.  
  282.  
  283. Name:Ihighlight
  284. [*]#(pm,1)
  285. #(lp,>)
  286. #(l?,>,],0,,(
  287.     #(sv,im,0)
  288.     #(rd)
  289.     #(Fkbd-in,#(g))
  290.     #(sv,im,.)
  291. ))
  292. #(pm)
  293. [*]
  294.  
  295.  
  296. Name:Iinsert
  297. [*]#(bl)[*]
  298.  
  299.  
  300. Name:Ilist-items
  301. Return a comma-delimited list of those item names that begin with arg3.
  302. The item prefix is in arg2.  The initial point is set by arg1.
  303. [*]#(pm,2)
  304. arg3
  305. #(SELF-do,(arg1),(arg2))
  306. #(sp,1)
  307. #(pm)
  308. [*]
  309.  
  310.  
  311. Name:Ilist-items-do
  312. Continue searching until all items have been found.
  313. [*]#(lp,(arg1arg2))
  314. #(l?,.,],,0,(
  315.     #(sp,0)
  316.     #(Floop,(##(sp,<)),##(nc,arg2))
  317.     #(lp,[: ##(bc,9,d,a)],,r)
  318.     #(l?,.,$,0,,(
  319.         ##(rm,0)
  320.         (,)
  321.         #(SELF,(arg1),(arg2))
  322.     ))
  323. ))[*]
  324.  
  325.  
  326. Name:Ilist-nodes
  327. Make a comma-delimited list of node names.
  328. [*]#(..,##(ba,##(info-buffer)))
  329. #(sp,[)
  330. #(pm,1)
  331. #(SELF-do,arg1)
  332. #(pm)
  333. #(..,##(ba,##(buffer-name.*info*)))
  334. [*]
  335.  
  336.  
  337. Name:Ilist-nodes-do
  338. [*]#(lp,(
  339. ))
  340. #(l?,.,],,0,(
  341.     #(sp,0$>)
  342.     #(lp,Node:[ ##(bc,9,d,a)]*arg1,,r)
  343.     #(l?,.,$,,0,(
  344.         #(sp,0)
  345.         #(Floop,(##(sp,<)),##(nc,arg1))
  346.         #(lp,[##(bc,9,d,a)(,)],,r)
  347.         #(l?,.,$,0,,,(#(sm,0,$)))
  348.         ##(rm,0)
  349.         (,)
  350.     ))
  351.     #(SELF,arg1)
  352. ))[*]
  353.  
  354.  
  355. Name:InK. 
  356. [*]F:scroll-up[*]
  357.  
  358.  
  359. Name:InK.1
  360. [*](I:Info-number,1)[*]
  361.  
  362.  
  363. Name:InK.2
  364. [*](I:Info-number,2)[*]
  365.  
  366.  
  367. Name:InK.3
  368. [*](I:Info-number,3)[*]
  369.  
  370.  
  371. Name:InK.4
  372. [*](I:Info-number,4)[*]
  373.  
  374.  
  375. Name:InK.5
  376. [*](I:Info-number,5)[*]
  377.  
  378.  
  379. Name:InK.?
  380. [*]I:Info-help[*]
  381.  
  382.  
  383. Name:InK.Del
  384. [*]F:scroll-down[*]
  385.  
  386.  
  387. Name:InK.Delete
  388. [*]F:scroll-down[*]
  389.  
  390.  
  391. Name:InK.b
  392. [*]I:Info-begin[*]
  393.  
  394.  
  395. Name:InK.d
  396. [*]I:Info-dir[*]
  397.  
  398.  
  399. Name:InK.f
  400. [*]I:Info-follow[*]
  401.  
  402.  
  403. Name:InK.g
  404. [*]I:Info-goto[*]
  405.  
  406.  
  407. Name:InK.h
  408. [*]I:Info-goto-help[*]
  409.  
  410.  
  411. Name:InK.l
  412. [*]I:Info-last[*]
  413.  
  414.  
  415. Name:InK.m
  416. [*]I:Info-menu[*]
  417.  
  418.  
  419. Name:InK.n
  420. [*]I:Info-next[*]
  421.  
  422.  
  423. Name:InK.p
  424. [*]I:Info-prev[*]
  425.  
  426.  
  427. Name:InK.q
  428. [*]I:Info-quit[*]
  429.  
  430.  
  431. Name:InK.s
  432. [*]I:Info-search[*]
  433.  
  434.  
  435. Name:InK.u
  436. [*]I:Info-up[*]
  437.  
  438.  
  439. Name:Info-cmd
  440. This is used to define the string #(d), which executes keys.
  441. [*]#(ds,result,
  442. #(#(hk,InK.arg1,K.arg1,F:ring-the-bell))
  443. )[*]
  444.  
  445.  
  446. Name:Iparse
  447. [*]#(ds,value,arg1.)
  448. #(Fvisit-do)
  449. #(I:Info-mode)
  450. [*]
  451.  
  452. Name:F!I:info
  453. [*][*]
  454.  
  455. Name:Fautoload-I
  456. [*]info[*]
  457.  
  458.  
  459.